﻿using FanaticRock.MediaSource.BilibiliAPI.Helpers;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Reflection.Metadata;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;

namespace FanaticRock.MediaSource.BilibiliAPI.ResponseDto.WebInterface
{
    public class ViewResponseDto : BaseResponseDto
    {
        public class PageDto : BaseDto
        {
            [JsonPropertyName("cid")]
            public int Cid { get; set; }

            [JsonPropertyName("page")]
            public int Page { get; set; }

            [JsonPropertyName("part")]
            public string Part { get; set; }


        }
        public class DataDto : BaseDto
        {
            #region origin

            [JsonPropertyName("bvid")]
            public string Bvid { get; set; }

            [JsonPropertyName("aid")]
            public long Aid { get; set; }

            [JsonPropertyName("videos")]
            public int VideoCount { get; set; }

            [JsonPropertyName("tid")]
            public int Tid { get; set; }

            [JsonPropertyName("tname")]
            public string TName { get; set; }

            // CopyRight

            [JsonPropertyName("pic")]
            public string PictureUrl { get; set; }

            [JsonPropertyName("title")]
            public string Base64Title { get; set; }

            [JsonPropertyName("pubdate")]
            public double PublishDate { get; set; }

            [JsonPropertyName("pages")]
            public PageDto[] Pages { get; set; }

            #endregion



        }

        [JsonPropertyName("data")]
        public DataDto Data { get; set; }
    }
}
